75fae640cc1a64b165b1592399e4ea966d72ba66,app/src/main/java/org/proninyaroslav/libretorrent/services/TorrentTaskService.java,TorrentTaskService,onTrayPreferenceChanged,#Collection#,497
Before Change
public void onTrayPreferenceChanged(Collection<TrayItem> items)
{
for (TrayItem item : items) {
if (item.module().equals(SettingsManager.MODULE_NAME)) {
if (item.key().equals(getString(R.string.pref_key_battery_control))) {
if (pref.getBoolean(item.key(), false) &&
(Utils.getBatteryLevel(getApplicationContext()) <= Utils.getDefaultBatteryLowLevel())) {
pauseTorrents.set(true);
pauseAll();
} else if (!pref.getBoolean(getString(R.string.pref_key_download_and_upload_only_when_charging), false)) {
pauseTorrents.set(false);
resumeAll();
}
} else if (item.key().equals(getString(R.string.pref_key_download_and_upload_only_when_charging))) {
if (pref.getBoolean(item.key(), false) && !Utils.isBatteryCharging(getApplicationContext())) {
pauseTorrents.set(true);
pauseAll();
} else {
pauseTorrents.set(false);
resumeAll();
}
} else if (item.key().equals(getString(R.string.pref_key_max_download_speed))) {
engineTask.getEngine().setDownloadSpeedLimit(pref.getInt(item.key(), 0));
} else if (item.key().equals(getString(R.string.pref_key_max_upload_speed))) {
engineTask.getEngine().setUploadSpeedLimit(pref.getInt(item.key(), 0));
} else if (item.key().equals(getString(R.string.pref_key_max_connections))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setConnectionsLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_CONNECTIONS_LIMIT));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_downloads))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeDownloads(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_DOWNLOADS));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_uploads))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeSeeds(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_SEEDS));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_torrents))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_LIMIT));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_cpu_do_not_sleep))) {
setKeepCpuAwake(pref.getBoolean(getString(R.string.pref_key_cpu_do_not_sleep), false));
} else if (item.key().equals(getString(R.string.pref_key_enable_dht))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.enableDht(pref.getBoolean(getString(R.string.pref_key_enable_dht),
TorrentEngine.DEFAULT_DHT_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_lsd))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.broadcastLSD(pref.getBoolean(getString(R.string.pref_key_enable_lsd),
TorrentEngine.DEFAULT_LSD_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_utp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
boolean enable = pref.getBoolean(getString(R.string.pref_key_enable_utp),
TorrentEngine.DEFAULT_UTP_ENABLED);
sp.setBoolean(settings_pack.bool_types.enable_incoming_utp.swigValue(), enable);
sp.setBoolean(settings_pack.bool_types.enable_outgoing_utp.swigValue(), enable);
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_upnp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setBoolean(settings_pack.bool_types.enable_upnp.swigValue(),
pref.getBoolean(getString(R.string.pref_key_enable_upnp),
TorrentEngine.DEFAULT_UPNP_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_natpmp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setBoolean(settings_pack.bool_types.enable_natpmp.swigValue(),
pref.getBoolean(getString(R.string.pref_key_enable_natpmp),
TorrentEngine.DEFAULT_NATPMP_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enc_in_connections))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
int state = (pref.getBoolean(getString(R.string.pref_key_enc_in_connections),
TorrentEngine.DEFAULT_ENCRYPT_IN_CONNECTIONS) ?
settings_pack.enc_policy.pe_enabled.swigValue() :
settings_pack.enc_policy.pe_disabled.swigValue());
sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);
engineTask.getEngine().setSettings(sp);
}
After Change
public void onTrayPreferenceChanged(Collection<TrayItem> items)
{
for (TrayItem item : items) {
if (item.module().equals(SettingsManager.MODULE_NAME)) {
if (item.key().equals(getString(R.string.pref_key_battery_control))) {
if (pref.getBoolean(item.key(), false) &&
(Utils.getBatteryLevel(getApplicationContext()) <= Utils.getDefaultBatteryLowLevel())) {
pauseTorrents.set(true);
pauseAll();
} else if (!pref.getBoolean(getString(R.string.pref_key_download_and_upload_only_when_charging), false)) {
pauseTorrents.set(false);
resumeAll();
}
} else if (item.key().equals(getString(R.string.pref_key_download_and_upload_only_when_charging))) {
if (pref.getBoolean(item.key(), false) && !Utils.isBatteryCharging(getApplicationContext())) {
pauseTorrents.set(true);
pauseAll();
} else {
pauseTorrents.set(false);
resumeAll();
}
} else if (item.key().equals(getString(R.string.pref_key_max_download_speed))) {
engineTask.getEngine().setDownloadSpeedLimit(pref.getInt(item.key(), 0));
} else if (item.key().equals(getString(R.string.pref_key_max_upload_speed))) {
engineTask.getEngine().setUploadSpeedLimit(pref.getInt(item.key(), 0));
} else if (item.key().equals(getString(R.string.pref_key_max_connections))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setConnectionsLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_CONNECTIONS_LIMIT));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_downloads))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeDownloads(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_DOWNLOADS));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_uploads))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeSeeds(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_SEEDS));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_max_active_torrents))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.activeLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_LIMIT));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_cpu_do_not_sleep))) {
setKeepCpuAwake(pref.getBoolean(getString(R.string.pref_key_cpu_do_not_sleep), false));
} else if (item.key().equals(getString(R.string.pref_key_enable_dht))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.enableDht(pref.getBoolean(getString(R.string.pref_key_enable_dht),
TorrentEngine.DEFAULT_DHT_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_lsd))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.broadcastLSD(pref.getBoolean(getString(R.string.pref_key_enable_lsd),
TorrentEngine.DEFAULT_LSD_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_utp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
boolean enable = pref.getBoolean(getString(R.string.pref_key_enable_utp),
TorrentEngine.DEFAULT_UTP_ENABLED);
sp.setBoolean(settings_pack.bool_types.enable_incoming_utp.swigValue(), enable);
sp.setBoolean(settings_pack.bool_types.enable_outgoing_utp.swigValue(), enable);
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_upnp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setBoolean(settings_pack.bool_types.enable_upnp.swigValue(),
pref.getBoolean(getString(R.string.pref_key_enable_upnp),
TorrentEngine.DEFAULT_UPNP_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enable_natpmp))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
sp.setBoolean(settings_pack.bool_types.enable_natpmp.swigValue(),
pref.getBoolean(getString(R.string.pref_key_enable_natpmp),
TorrentEngine.DEFAULT_NATPMP_ENABLED));
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enc_mode))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
int state = getEncryptMode();
sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);
sp.setInteger(settings_pack.int_types.out_enc_policy.swigValue(), state);
engineTask.getEngine().setSettings(sp);
}
} else if (item.key().equals(getString(R.string.pref_key_enc_in_connections))) {
SettingsPack sp = engineTask.getEngine().getSettings();
if (sp != null) {
int state = settings_pack.enc_policy.pe_disabled.swigValue();
if (pref.getBoolean(getString(R.string.pref_key_enc_in_connections),
TorrentEngine.DEFAULT_ENCRYPT_IN_CONNECTIONS)) {
state = getEncryptMode();
}
sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);